<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><script type="text/javascript" src="https://cdn.jsdelivr.net/gh/opencobra/cobratoolbox@ffa0229fc0c01c9236bb7e961f65712443277719/latest/_static/js/iframeResizer.contentWindow.min.js"></script><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,IE=9,chrome=1"><meta name="generator" content="MATLAB 2021a"><title>Analyse combinedModel, input to component contribution</title><style type="text/css">.rtcContent { padding: 30px; } .S0 { margin: 3px 10px 5px 4px; padding: 0px; line-height: 28.8px; min-height: 0px; white-space: normal; color: rgb(213, 80, 0); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 24px; font-weight: normal; text-align: left;  }
.S1 { margin: 20px 10px 5px 4px; padding: 0px; line-height: 20px; min-height: 0px; white-space: normal; color: rgb(60, 60, 60); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: bold; text-align: left;  }
.S2 { margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: normal; color: rgb(0, 0, 0); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: normal; text-align: left;  }
.CodeBlock { background-color: #F7F7F7; margin: 10px 0 10px 0;}
.S3 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 0px none rgb(0, 0, 0); border-radius: 4px 4px 0px 0px; padding: 6px 45px 0px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S4 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 0px none rgb(0, 0, 0); border-bottom: 0px none rgb(0, 0, 0); border-radius: 0px; padding: 0px 45px 0px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S5 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 0px none rgb(0, 0, 0); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 0px; padding: 0px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S6 { color: rgb(64, 64, 64); padding: 10px 0px 6px 17px; background: rgb(255, 255, 255) none repeat scroll 0% 0% / auto padding-box border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px; overflow-x: hidden; line-height: 17.234px;  }
/* Styling that is common to warnings and errors is in diagnosticOutput.css */.embeddedOutputsErrorElement {    min-height: 18px;    max-height: 250px;    overflow: auto;}
.embeddedOutputsErrorElement.inlineElement {}
.embeddedOutputsErrorElement.rightPaneElement {}
/* Styling that is common to warnings and errors is in diagnosticOutput.css */.embeddedOutputsWarningElement{    min-height: 18px;    max-height: 250px;    overflow: auto;}
.embeddedOutputsWarningElement.inlineElement {}
.embeddedOutputsWarningElement.rightPaneElement {}
/* Copyright 2015-2019 The MathWorks, Inc. *//* In this file, styles are not scoped to rtcContainer since they could be in the Dojo Tooltip */.diagnosticMessage-wrapper {    font-family: Menlo, Monaco, Consolas, "Courier New", monospace;    font-size: 12px;}
.diagnosticMessage-wrapper.diagnosticMessage-warningType {    color: rgb(255,100,0);}
.diagnosticMessage-wrapper.diagnosticMessage-warningType a {    color: rgb(255,100,0);    text-decoration: underline;}
.diagnosticMessage-wrapper.diagnosticMessage-errorType {    color: rgb(230,0,0);}
.diagnosticMessage-wrapper.diagnosticMessage-errorType a {    color: rgb(230,0,0);    text-decoration: underline;}
.diagnosticMessage-wrapper .diagnosticMessage-messagePart,.diagnosticMessage-wrapper .diagnosticMessage-causePart {    white-space: normal;}
.diagnosticMessage-wrapper .diagnosticMessage-stackPart {    white-space: normal;}
.embeddedOutputsTextElement,.embeddedOutputsVariableStringElement {    white-space: normal;    word-wrap:  initial;    min-height: 18px;    max-height: 250px;    overflow: auto;}
.textElement,.rtcDataTipElement .textElement {    padding-top: 3px;}
.embeddedOutputsTextElement.inlineElement,.embeddedOutputsVariableStringElement.inlineElement {}
.inlineElement .textElement {}
.embeddedOutputsTextElement.rightPaneElement,.embeddedOutputsVariableStringElement.rightPaneElement {    min-height: 16px;}
.rightPaneElement .textElement {    padding-top: 2px;    padding-left: 9px;}
.S7 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 0px none rgb(0, 0, 0); border-radius: 0px; padding: 6px 45px 0px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S8 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 4px 4px 0px 0px; padding: 6px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S9 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 4px; padding: 6px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S10 { margin: 3px 10px 5px 4px; padding: 0px; line-height: 18px; min-height: 0px; white-space: normal; color: rgb(60, 60, 60); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 17px; font-weight: bold; text-align: left;  }
.S11 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 0px; padding: 6px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }
.S12 { margin: 15px 10px 5px 4px; padding: 0px; line-height: 18px; min-height: 0px; white-space: normal; color: rgb(60, 60, 60); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 17px; font-weight: bold; text-align: left;  }
.S13 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 0px none rgb(0, 0, 0); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 0px 0px 4px 4px; padding: 0px 45px 4px 13px; line-height: 17.234px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 14px;  }</style></head><body><div class = rtcContent><h1  class = 'S0'><span>Analyse combinedModel, input to component contribution</span></h1><h2  class = 'S1'><span style=' font-weight: bold;'>Author: Ronan Fleming, NUI Galway, Leiden University</span></h2><h2  class = 'S1'><span style=' font-weight: bold;'>Reviewers: </span></h2><h2  class = 'S1'><span>INTRODUCTION</span></h2><h2  class = 'S1'><span>PROCEDURE</span></h2><h2  class = 'S1'><span>Configure the environment</span></h2><div  class = 'S2'><span>All the installation instructions are in a separate .md file named vonBertalanffy.md in docs/source/installation</span></div><div  class = 'S2'><span>With all dependencies installed correctly, we configure our environment, verfy all dependencies, and add required fields and directories to the matlab path.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: normal"><span >aPath = which(</span><span style="color: rgb(170, 4, 249);">'initVonBertalanffy'</span><span >);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >basePath = strrep(aPath,</span><span style="color: rgb(170, 4, 249);">'vonBertalanffy/initVonBertalanffy.m'</span><span >,</span><span style="color: rgb(170, 4, 249);">''</span><span >);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >addpath(genpath(basePath))</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >folderPattern=[filesep </span><span style="color: rgb(170, 4, 249);">'old'</span><span >];</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >method = </span><span style="color: rgb(170, 4, 249);">'remove'</span><span >;</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S5'><span style="white-space: normal"><span >editCobraToolboxPath(basePath,folderPattern,method)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement scrollableOutput" uid="D5E4F843" data-testid="output_0" data-width="420" data-height="101" data-hashorizontaloverflow="true" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">removing: /home/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/componentContribution/old
removing: /home/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/directionalityReport/old
removing: /home/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/groupContribution/old
removing: /home/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/inchi/old
removing: /home/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/molFiles/old
removing: /home/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/protons/old
removing: /home/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/trainingModel/old</div></div></div></div><div class="inlineWrapper"><div  class = 'S7'><span style="white-space: normal"><span >aPath = which(</span><span style="color: rgb(170, 4, 249);">'initVonBertalanffy'</span><span >);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >basePath = strrep(aPath,</span><span style="color: rgb(170, 4, 249);">'vonBertalanffy/initVonBertalanffy.m'</span><span >,</span><span style="color: rgb(170, 4, 249);">''</span><span >);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >addpath(genpath(basePath))</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >folderPattern=[filesep </span><span style="color: rgb(170, 4, 249);">'new'</span><span >];</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >method = </span><span style="color: rgb(170, 4, 249);">'add'</span><span >;</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S5'><span style="white-space: normal"><span >editCobraToolboxPath(basePath,folderPattern,method)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement scrollableOutput" uid="D42A8EFD" data-testid="output_1" data-width="420" data-height="87" data-hashorizontaloverflow="true" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">adding: /home/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/componentContribution/new
adding: /home/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/groupContribution/new
adding: /home/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/inchi/new
adding: /home/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/molFiles/new
adding: /home/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/protons/new
adding: /home/rfleming/work/sbgCloud/code/fork-cobratoolbox/src/analysis/thermo/trainingModel/new</div></div></div></div></div><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S8'><span style="white-space: normal"><span >initVonBertalanffy</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement scrollableOutput" uid="9AB94A31" data-testid="output_2" data-width="420" data-height="227" data-hashorizontaloverflow="true" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">ChemAxon Marvin Beans is installed and working.
	linux-vdso.so.1 (0x00007fff445d9000)
	libc.so.6 =&gt; /lib/x86_64-linux-gnu/libc.so.6 (0x00007f91d2049000)
	libopenbabel.so.5 =&gt; /usr/lib/libopenbabel.so.5 (0x00007f91d1df9000)
	libstdc++.so.6 =&gt; /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f91d1bdf000)
	libgcc_s.so.1 =&gt; /usr/local/bin/MATLAB/R2021a/sys/os/glnxa64/libgcc_s.so.1 (0x00007f91d19c7000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f91d2269000)
	libdl.so.2 =&gt; /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f91d19bf000)
	libz.so.1 =&gt; /lib/x86_64-linux-gnu/libz.so.1 (0x00007f91d19a3000)
	libm.so.6 =&gt; /lib/x86_64-linux-gnu/libm.so.6 (0x00007f91d1854000)
	libgomp.so.1 =&gt; /usr/lib/x86_64-linux-gnu/libgomp.so.1 (0x00007f91d180f000)
	libpthread.so.0 =&gt; /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f91d17ec000)

babel must depend on the system libstdc++.so.6 not the one from MATLAB
Trying to edit the 'LD_LIBRARY_PATH' to make sure that it has the correct system path before the Matlab path!
The solution will be arch dependent</div></div></div></div></div><div  class = 'S2'><span>Load combined model</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S9'><span style="white-space: normal"><span >load(</span><span style="color: rgb(170, 4, 249);">'data_prior_to_componentContribution'</span><span >)</span></span></div></div></div><h3  class = 'S10'><span>Statistics on the combined model</span></h3><div class="CodeBlock"><div class="inlineWrapper outputs"><div  class = 'S8'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,nnz(combinedModel.trainingMetBool),</span><span style="color: rgb(170, 4, 249);">' training metabolites'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C4144DE5" data-testid="output_3" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">672 training metabolites</div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,nnz(combinedModel.trainingMetBool &amp; combinedModel.groupDecomposableBool),</span><span style="color: rgb(170, 4, 249);">' of which are Moiety decomposable.'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="690CAF9E" data-testid="output_4" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">627 of which are Moiety decomposable.</div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,nnz(combinedModel.trainingMetBool &amp; ~combinedModel.inchiBool),</span><span style="color: rgb(170, 4, 249);">' of which have no inchi.'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="E1A9CC0A" data-testid="output_5" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">45 of which have no inchi.</div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,nnz(combinedModel.trainingMetBool &amp; combinedModel.inchiBool &amp; ~combinedModel.groupDecomposableBool),</span><span style="color: rgb(170, 4, 249);">' of which are not Moiety decomposable.'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="248DC9A6" data-testid="output_6" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">0 of which are not Moiety decomposable.</div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,nnz(combinedModel.testMetBool),</span><span style="color: rgb(170, 4, 249);">' test metabolites'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="8CC863E8" data-testid="output_7" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">2994 test metabolites</div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,nnz(combinedModel.testMetBool &amp; combinedModel.groupDecomposableBool),</span><span style="color: rgb(170, 4, 249);">' of which are Moiety decomposable.'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="AA442B3E" data-testid="output_8" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">1997 of which are Moiety decomposable.</div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,nnz(combinedModel.testMetBool &amp; ~combinedModel.inchiBool),</span><span style="color: rgb(170, 4, 249);">' of which have no inchi.'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C39714B7" data-testid="output_9" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">994 of which have no inchi.</div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,nnz(combinedModel.testMetBool &amp; combinedModel.inchiBool &amp; ~combinedModel.groupDecomposableBool),</span><span style="color: rgb(170, 4, 249);">' ... of which are not Moiety decomposable.'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="69D479FB" data-testid="output_10" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">3 ... of which are not Moiety decomposable.</div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,size(combinedModel.S,1),</span><span style="color: rgb(170, 4, 249);">' combined model metabolites.'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="0B7D53D0" data-testid="output_11" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">3666 combined model metabolites.</div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,nnz(combinedModel.trainingMetBool &amp; ~combinedModel.testMetBool),</span><span style="color: rgb(170, 4, 249);">' ... of which are exclusively training metabolites.'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="07A67E5A" data-testid="output_12" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">672 ... of which are exclusively training metabolites.</div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,nnz(combinedModel.trainingMetBool &amp; combinedModel.testMetBool),</span><span style="color: rgb(170, 4, 249);">' ... of which are both training and test metabolites.'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="5EF86858" data-testid="output_13" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">0 ... of which are both training and test metabolites.</div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,nnz(~combinedModel.trainingMetBool &amp; combinedModel.testMetBool),</span><span style="color: rgb(170, 4, 249);">' ... of which are exclusively test metabolites.'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="CD0F53E9" data-testid="output_14" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">2994 ... of which are exclusively test metabolites.</div></div></div></div></div><h3  class = 'S12'><span>Sparsity pattern of combinedModel.S</span></h3><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: normal"><span >figure</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >spy(combinedModel.S);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >title([int2str(size(combinedModel.S,1)) </span><span style="color: rgb(170, 4, 249);">' x ' </span><span >int2str(size(combinedModel.S,2))])</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >xlabel(</span><span style="color: rgb(170, 4, 249);">'Reactions'</span><span >)</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S5'><span style="white-space: normal"><span >ylabel(</span><span style="color: rgb(170, 4, 249);">'Metabolites'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="5AA34DC3" data-testid="output_15" style="width: 450px;"><div class="figureElement"><img class="figureImage figureContainingNode" src="" style="width: 560px;"></div></div></div></div></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: normal"><span >nReactionsPerMetabolite=full(sum(combinedModel.S~=0,2));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >histogram(nReactionsPerMetabolite(nReactionsPerMetabolite~=0),</span><span style="color: rgb(170, 4, 249);">'BinWidth'</span><span >,2)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >title(</span><span style="color: rgb(170, 4, 249);">'Number of Reactions per metabolite'</span><span >)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >xlabel(</span><span style="color: rgb(170, 4, 249);">'#Metabolites'</span><span >)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >ylabel(</span><span style="color: rgb(170, 4, 249);">'log(#Reactions)'</span><span >)</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S5'><span style="white-space: normal"><span >set(gca,</span><span style="color: rgb(170, 4, 249);">'YScale'</span><span >,</span><span style="color: rgb(170, 4, 249);">'log'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="6FC6799F" data-testid="output_16" style="width: 450px;"><div class="figureElement"><img class="figureImage figureContainingNode" src="" style="width: 560px;"></div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,nnz(nReactionsPerMetabolite==0),</span><span style="color: rgb(170, 4, 249);">' metabolites without reactions.'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="B4BA2B39" data-testid="output_17" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">2998 metabolites without reactions.</div></div></div></div><div class="inlineWrapper"><div  class = 'S7'><span style="white-space: normal"><span >nMetabolitesPerReaction=full(sum(combinedModel.S~=0,1)');</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >histogram(nMetabolitesPerReaction)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >title(</span><span style="color: rgb(170, 4, 249);">'Number of Metabolites per Reaction'</span><span >)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >xlabel(</span><span style="color: rgb(170, 4, 249);">'#Reactions'</span><span >)</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S5'><span style="white-space: normal"><span >ylabel(</span><span style="color: rgb(170, 4, 249);">'#Metabolties'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="F6318AC2" data-testid="output_18" style="width: 450px;"><div class="figureElement"><img class="figureImage figureContainingNode" src="" style="width: 560px;"></div></div></div></div><div class="inlineWrapper"><div  class = 'S7'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">if </span><span >any(nMetabolitesPerReaction==0)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >    error(</span><span style="color: rgb(170, 4, 249);">'combinedModel.S reaction without a metabolite'</span><span >)</span></span></div></div><div class="inlineWrapper"><div  class = 'S13'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">end</span></span></div></div></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: normal"><span >dX = diag(combinedModel.S*combinedModel.S');</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >figure</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >plot(sort(dX),</span><span style="color: rgb(170, 4, 249);">'.'</span><span >)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >set(gca,</span><span style="color: rgb(170, 4, 249);">'YScale'</span><span >,</span><span style="color: rgb(170, 4, 249);">'log'</span><span >)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >ylabel(</span><span style="color: rgb(170, 4, 249);">'log(stoichiometric degree)'</span><span >)</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S5'><span style="white-space: normal"><span >xlabel(</span><span style="color: rgb(170, 4, 249);">'metabolites sorted by stoichiometric degree'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="718F7845" data-testid="output_19" style="width: 450px;"><div class="figureElement"><img class="figureImage figureContainingNode" src="" style="width: 560px;"></div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >nnz(dX==0)</span></span></div><div  class = 'S6'><div class='variableElement' style='font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; '>ans = 2998</div></div></div></div><h3  class = 'S10'><span>Sparsity pattern of combinedModel.G</span></h3><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: normal"><span >figure</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >spy(combinedModel.G)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >title([int2str(size(combinedModel.G,1)) </span><span style="color: rgb(170, 4, 249);">' x ' </span><span >int2str(size(combinedModel.G,2))])</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >xlabel(</span><span style="color: rgb(170, 4, 249);">'Moieties'</span><span >)</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S5'><span style="white-space: normal"><span >ylabel(</span><span style="color: rgb(170, 4, 249);">'Metabolites'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="43F998C7" data-testid="output_21" style="width: 450px;"><div class="figureElement"><img class="figureImage figureContainingNode" src="" style="width: 560px;"></div></div></div></div><div class="inlineWrapper"><div  class = 'S7'><span style="white-space: normal"><span >nGroupPerMetabolite = full(sum(combinedModel.G~=0,2));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >histogram(nGroupPerMetabolite,</span><span style="color: rgb(170, 4, 249);">'BinWidth'</span><span >,2)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >xlabel(</span><span style="color: rgb(170, 4, 249);">'#Moieties per metabolite'</span><span >)</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S5'><span style="white-space: normal"><span >ylabel(</span><span style="color: rgb(170, 4, 249);">'#Metabolites'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="1EF2C22C" data-testid="output_22" style="width: 450px;"><div class="figureElement"><img class="figureImage figureContainingNode" src="" style="width: 560px;"></div></div></div></div><div class="inlineWrapper"><div  class = 'S7'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">if </span><span >any(nGroupPerMetabolite==0)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >    error(</span><span style="color: rgb(170, 4, 249);">'Metabolite without any Moiety'</span><span >)</span></span></div></div><div class="inlineWrapper"><div  class = 'S13'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">end</span></span></div></div></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: normal"><span >nMetabolitePerGroup = sum(combinedModel.G~=0,1)';</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">if </span><span >0</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >    histogram(nMetabolitePerGroup);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >    </span><span style="color: rgb(2, 128, 9);">%set(gca,'YScale','log')</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >    ylim([0, 10]);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">else</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >    histogram(nMetabolitePerGroup);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >    set(gca,</span><span style="color: rgb(170, 4, 249);">'YScale'</span><span >,</span><span style="color: rgb(170, 4, 249);">'log'</span><span >)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >xlabel(</span><span style="color: rgb(170, 4, 249);">'#Metabolites per Moiety'</span><span >)</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S5'><span style="white-space: normal"><span >ylabel(</span><span style="color: rgb(170, 4, 249);">'log(#Moieties)'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="EB287784" data-testid="output_23" style="width: 450px;"><div class="figureElement"><img class="figureImage figureContainingNode" src="" style="width: 560px;"></div></div></div></div><div class="inlineWrapper"><div  class = 'S7'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">if </span><span >any(nMetabolitePerGroup==0)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >    error(</span><span style="color: rgb(170, 4, 249);">'Moiety without metabolite'</span><span >)</span></span></div></div><div class="inlineWrapper"><div  class = 'S13'><span style="white-space: normal"><span style="color: rgb(14, 0, 255);">end</span></span></div></div></div><h3  class = 'S12'><span>Sparsity pattern of combinedModel.StG</span></h3><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: normal"><span >StG=combinedModel.S'*combinedModel.G;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >figure</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >spy(StG)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >title([</span><span style="color: rgb(170, 4, 249);">'S''*G    ' </span><span >int2str(size(StG,1)) </span><span style="color: rgb(170, 4, 249);">' x ' </span><span >int2str(size(StG,2))])</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >xlabel(</span><span style="color: rgb(170, 4, 249);">'Moieties'</span><span >)</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S5'><span style="white-space: normal"><span >ylabel(</span><span style="color: rgb(170, 4, 249);">'Reactions'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="934BE40C" data-testid="output_24" style="width: 450px;"><div class="figureElement"><img class="figureImage figureContainingNode" src="" style="width: 560px;"></div></div></div></div><div class="inlineWrapper"><div  class = 'S7'><span style="white-space: normal"><span >nReactingMoieties=full(sum(StG~=0,2));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >histogram(nReactingMoieties,</span><span style="color: rgb(170, 4, 249);">'BinWidth'</span><span >,2)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >title(</span><span style="color: rgb(170, 4, 249);">'Number of Reacting Moieties per reaction'</span><span >)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >xlabel(</span><span style="color: rgb(170, 4, 249);">'#Reacting moieties'</span><span >)</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S5'><span style="white-space: normal"><span >ylabel(</span><span style="color: rgb(170, 4, 249);">'#Reactions'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="05C631D9" data-testid="output_25" style="width: 450px;"><div class="figureElement"><img class="figureImage figureContainingNode" src="" style="width: 560px;"></div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s\n'</span><span >,nnz(nReactingMoieties==0),</span><span style="color: rgb(170, 4, 249);">' reactions without reacting moieties.'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3D83B752" data-testid="output_26" data-width="420" data-height="18" data-hashorizontaloverflow="false" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">19 reactions without reacting moieties.</div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >printRxnFormula(combinedModel,combinedModel.rxns(nReactingMoieties==0));</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement scrollableOutput" uid="1978969D" data-testid="output_27" data-width="420" data-height="269" data-hashorizontaloverflow="true" style="width: 450px; max-height: 280px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">TECRDB_373	C00002 + C00015 	-&gt;	C00008 + C00075 
TECRDB_764	C00004 + C00006 	-&gt;	C00003 + C00005 
TECRDB_765	C00004 + C00006 	-&gt;	C00003 + C00005 
TECRDB_766	C00004 + C00006 	-&gt;	C00003 + C00005 
TECRDB_767	C00004 + C00006 	-&gt;	C00003 + C00005 
TECRDB_768	C00004 + C00006 	-&gt;	C00003 + C00005 
TECRDB_769	C00004 + C00006 	-&gt;	C00003 + C00005 
TECRDB_770	C00004 + C00006 	-&gt;	C00003 + C00005 
TECRDB_771	C00004 + C00006 	-&gt;	C00003 + C00005 
TECRDB_772	C00004 + C00006 	-&gt;	C00003 + C00005 
TECRDB_773	C00004 + C00006 	-&gt;	C00003 + C00005 
TECRDB_822	C00003 + C00005 	-&gt;	C00004 + C00006 
TECRDB_823	C00003 + C00005 	-&gt;	C00004 + C00006 
TECRDB_824	C00003 + C00005 	-&gt;	C00004 + C00006 
TECRDB_2364	C00002 + C00015 	-&gt;	C00008 + C00075 
TECRDB_2521	C00002 + C00035 	-&gt;	C00008 + C00044 
TECRDB_2639	C00002 + C00104 	-&gt;	C00008 + C00081 
TECRDB_2870	C00166 	-&gt;	C02763 
TECRDB_3904	C00036 	-&gt;	C03981 </div></div></div></div></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: normal"><span >nReactionsPerMoiety=full(sum(StG~=0,1)');</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >histogram(nReactionsPerMoiety)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >set(gca,</span><span style="color: rgb(170, 4, 249);">'YScale'</span><span >,</span><span style="color: rgb(170, 4, 249);">'log'</span><span >)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >title(</span><span style="color: rgb(170, 4, 249);">'Number of Reactions per moiety'</span><span >)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: normal"><span >xlabel(</span><span style="color: rgb(170, 4, 249);">'#Reactions'</span><span >)</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S5'><span style="white-space: normal"><span >ylabel(</span><span style="color: rgb(170, 4, 249);">'#log(Moieties)'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="2F4DFEA8" data-testid="output_28" style="width: 450px;"><div class="figureElement"><img class="figureImage figureContainingNode" src="" style="width: 560px;"></div></div></div></div><div class="inlineWrapper outputs"><div  class = 'S11'><span style="white-space: normal"><span >fprintf(</span><span style="color: rgb(170, 4, 249);">'%u%s%u%s\n'</span><span >,nnz(nReactionsPerMoiety==0),</span><span style="color: rgb(170, 4, 249);">' of the '</span><span >, length(nReactionsPerMoiety), </span><span style="color: rgb(170, 4, 249);">' moieties do not react in any training reaction.'</span><span >)</span></span></div><div  class = 'S6'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement scrollableOutput" uid="DECB3090" data-testid="output_29" data-width="420" data-height="18" data-hashorizontaloverflow="true" style="width: 450px; max-height: 261px; white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;"><div class="textElement" style="white-space: normal; font-style: normal; color: rgb(64, 64, 64); font-size: 12px;">3789 of the 5189 moieties do not react in any training reaction.</div></div></div></div></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S9'></div></div></div>
<br>
<!-- 
##### SOURCE BEGIN #####
%% Analyse combinedModel, input to component contribution
%% *Author: Ronan Fleming, NUI Galway, Leiden University*
%% *Reviewers:* 
%% INTRODUCTION
%% PROCEDURE
%% Configure the environment
% All the installation instructions are in a separate .md file named vonBertalanffy.md 
% in docs/source/installation
% 
% With all dependencies installed correctly, we configure our environment, verfy 
% all dependencies, and add required fields and directories to the matlab path.

aPath = which('initVonBertalanffy');
basePath = strrep(aPath,'vonBertalanffy/initVonBertalanffy.m','');
addpath(genpath(basePath))
folderPattern=[filesep 'old'];
method = 'remove';
editCobraToolboxPath(basePath,folderPattern,method)
aPath = which('initVonBertalanffy');
basePath = strrep(aPath,'vonBertalanffy/initVonBertalanffy.m','');
addpath(genpath(basePath))
folderPattern=[filesep 'new'];
method = 'add';
editCobraToolboxPath(basePath,folderPattern,method)
%%
initVonBertalanffy
%% 
% Load combined model

load('data_prior_to_componentContribution')
% Statistics on the combined model

fprintf('%u%s\n',nnz(combinedModel.trainingMetBool),' training metabolites')
fprintf('%u%s\n',nnz(combinedModel.trainingMetBool & combinedModel.groupDecomposableBool),' of which are Moiety decomposable.')
fprintf('%u%s\n',nnz(combinedModel.trainingMetBool & ~combinedModel.inchiBool),' of which have no inchi.')
fprintf('%u%s\n',nnz(combinedModel.trainingMetBool & combinedModel.inchiBool & ~combinedModel.groupDecomposableBool),' of which are not Moiety decomposable.')
fprintf('%u%s\n',nnz(combinedModel.testMetBool),' test metabolites')
fprintf('%u%s\n',nnz(combinedModel.testMetBool & combinedModel.groupDecomposableBool),' of which are Moiety decomposable.')
fprintf('%u%s\n',nnz(combinedModel.testMetBool & ~combinedModel.inchiBool),' of which have no inchi.')
fprintf('%u%s\n',nnz(combinedModel.testMetBool & combinedModel.inchiBool & ~combinedModel.groupDecomposableBool),' ... of which are not Moiety decomposable.')
fprintf('%u%s\n',size(combinedModel.S,1),' combined model metabolites.')
fprintf('%u%s\n',nnz(combinedModel.trainingMetBool & ~combinedModel.testMetBool),' ... of which are exclusively training metabolites.')
fprintf('%u%s\n',nnz(combinedModel.trainingMetBool & combinedModel.testMetBool),' ... of which are both training and test metabolites.')
fprintf('%u%s\n',nnz(~combinedModel.trainingMetBool & combinedModel.testMetBool),' ... of which are exclusively test metabolites.')
% Sparsity pattern of combinedModel.S

figure
spy(combinedModel.S);
title([int2str(size(combinedModel.S,1)) ' x ' int2str(size(combinedModel.S,2))])
xlabel('Reactions')
ylabel('Metabolites')
%%
nReactionsPerMetabolite=full(sum(combinedModel.S~=0,2));
histogram(nReactionsPerMetabolite(nReactionsPerMetabolite~=0),'BinWidth',2)
title('Number of Reactions per metabolite')
xlabel('#Metabolites')
ylabel('log(#Reactions)')
set(gca,'YScale','log')
fprintf('%u%s\n',nnz(nReactionsPerMetabolite==0),' metabolites without reactions.')
nMetabolitesPerReaction=full(sum(combinedModel.S~=0,1)');
histogram(nMetabolitesPerReaction)
title('Number of Metabolites per Reaction')
xlabel('#Reactions')
ylabel('#Metabolties')
if any(nMetabolitesPerReaction==0)
    error('combinedModel.S reaction without a metabolite')
end
%%
dX = diag(combinedModel.S*combinedModel.S');
figure
plot(sort(dX),'.')
set(gca,'YScale','log')
ylabel('log(stoichiometric degree)')
xlabel('metabolites sorted by stoichiometric degree')
nnz(dX==0)
% Sparsity pattern of combinedModel.G

figure
spy(combinedModel.G)
title([int2str(size(combinedModel.G,1)) ' x ' int2str(size(combinedModel.G,2))])
xlabel('Moieties')
ylabel('Metabolites')
nGroupPerMetabolite = full(sum(combinedModel.G~=0,2));
histogram(nGroupPerMetabolite,'BinWidth',2)
xlabel('#Moieties per metabolite')
ylabel('#Metabolites')
if any(nGroupPerMetabolite==0)
    error('Metabolite without any Moiety')
end
%%
nMetabolitePerGroup = sum(combinedModel.G~=0,1)';
if 0
    histogram(nMetabolitePerGroup);
    %set(gca,'YScale','log')
    ylim([0, 10]);
else
    histogram(nMetabolitePerGroup);
    set(gca,'YScale','log')
end
xlabel('#Metabolites per Moiety')
ylabel('log(#Moieties)')
if any(nMetabolitePerGroup==0)
    error('Moiety without metabolite')
end
% Sparsity pattern of combinedModel.StG

StG=combinedModel.S'*combinedModel.G;
figure
spy(StG)
title(['S''*G    ' int2str(size(StG,1)) ' x ' int2str(size(StG,2))])
xlabel('Moieties')
ylabel('Reactions')
nReactingMoieties=full(sum(StG~=0,2));
histogram(nReactingMoieties,'BinWidth',2)
title('Number of Reacting Moieties per reaction')
xlabel('#Reacting moieties')
ylabel('#Reactions')
fprintf('%u%s\n',nnz(nReactingMoieties==0),' reactions without reacting moieties.')
printRxnFormula(combinedModel,combinedModel.rxns(nReactingMoieties==0));
%%
nReactionsPerMoiety=full(sum(StG~=0,1)');
histogram(nReactionsPerMoiety)
set(gca,'YScale','log')
title('Number of Reactions per moiety')
xlabel('#Reactions')
ylabel('#log(Moieties)')
fprintf('%u%s%u%s\n',nnz(nReactionsPerMoiety==0),' of the ', length(nReactionsPerMoiety), ' moieties do not react in any training reaction.')
%%
##### SOURCE END #####
-->
</div></body></html>